package findContinuousSequence;

import java.util.ArrayList;
import java.util.List;

public class Solution {
    public int[][] findContinuousSequence(int target) {
//        List<int[]>list = new ArrayList<>();
//        int r = 2,l = 1;
//        while (l<r&&r<target){
//            int sum = (l + r) * (r - l + 1) / 2;
//            if(sum>target){
//                l++;
//            }else if(sum<target){
//                r++;
//            }else {
//                int[] res = new int[r-l+1];
//                for (int i = l; i <=r ; i++) {
//                    res[i-l] = i;
//                }
//                list.add(res);
//                l++;
//                r++;
//            }
//        }
//        return list.toArray(new int[list.size()][]);
        List<int[]>list = new ArrayList<>();
        int r = 2,l = 1;
        while (r<target) {
            int sum = (l+r)*(r-l+1)/2;
            if(sum>target) {
                l++;
            }else if(sum<target) {
                r++;
            }else {
                int[] res = new int[r-l+1];
                for (int i = l; i <= r; i++) {
                    res[i-l] = i;
                }
                list.add(res);
                l++;
                r++;
            }
        }
        return list.toArray(new int[list.size()][]);
    }
}
